const data = {
  a: 3,
  b: 4,
  c: {
    x: 10,
  },
};

const observer = (data, item, value) => {
  Object.defineProperty(data, item, {
    get() {
      // console.log(item + "被获取了");
      return value;
    },
    set(val) {
      console.log(item + "被修改成了" + val);
      value = val;
    },
  });
};

Object.keys(data).forEach((item) => {
  observer(data, item, data[item]);
});

// data.a = 30;
// console.log(data.b);
// console.log(data.a);

// data.c.x = 20;
